package com.example.protocol;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;

/**
 * mybatis-plus的代码生成器
 * 本生成器尝试使用了新版（3.5.1+版本），参照了官网：https://baomidou.com/guide/generator-new.html#%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8
 * 旧版的可参照官网：https://baomidou.com/guide/generator.html#%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B
 */

public class Generator {



    public static void main(String[] args) {
        String url = "jdbc:mysql://1.117.101.146:3306/battery";
        String username = "root";
        String password = "db_114514";
        String outputDir = System.getProperty("user.dir") + "/src/main/java";
        String packageName = "com.example.protocol.generator";
        FastAutoGenerator.create(url, username, password)
                .globalConfig(builder -> {
                    builder.fileOverride() // 覆盖已生成文件
                            .outputDir(outputDir); // 指定输出目录
                })
                .packageConfig(builder -> {
                    builder.parent(packageName); // 设置父包名
//                            .moduleName("system"); // 设置父包模块名
//                            .pathInfo(Collections.singletonMap(OutputFile.mapperXml, outputDir)); // 设置mapperXml生成路径
                })
                .strategyConfig(builder -> {
                    builder.controllerBuilder().enableRestStyle();
                    builder.addTablePrefix("t_");
                    builder.mapperBuilder().enableMapperAnnotation();
                })
                .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板，默认的是Velocity引擎模板
                .execute();


    }
}
